#ifndef MAIN_WINDOW_H
#define MAIN_WINDOW_H

#include <QMainWindow>
#include <QSqlQueryModel>
#include "product_model.h"
#include "chart_manager.h"
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow {
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void refreshData();
    void refreshStockData();
    void refreshSalesData();
     void refreshCharts();

    // 产品管理
    void onAddProductClicked();
    void onEditProductClicked();
    void onDeleteProductClicked();
    void onSearchProducts();

    // 库存管理
    void onStockInClicked();

    // 销售管理
    void onSaleClicked();

    // 统计报表
    void onDateRangeChanged();
    void onYearChanged();
    void setupChartContainers();

private:
    void setupUI();
    void setupConnections();
    void setupProductManagementTab();
    void setupInventoryTab();
    void setupSalesTab();
    void setupReportsTab();

private:
    Ui::MainWindow *ui;
    ProductModel *productModel;
    ChartManager *chartManager;
    QSqlQueryModel *stockInModel;
    QSqlQueryModel *stockModel;
    QSqlQueryModel *salesModel;
};

#endif // MAIN_WINDOW_H
